import { eSettingManamagementSettingTabNames, SettingTabsService } from '@abp/ng.setting-management/config';
import { eFeatureManagementTabNames } from '@abp/ng.feature-management/lib/enums/feature-management-tab-names';
import { Component } from '@angular/core';
import { SettingsComponent } from './settings/settings.component';
import { ReplaceableComponentsService } from '@abp/ng.core';
import { LogoComponent } from './components/logo/logo.component';
import { eThemeBasicComponents } from '@abp/ng.theme.basic';

@Component({
  selector: 'app-root',
  template: `
    <abp-loader-bar></abp-loader-bar>
    <abp-dynamic-layout></abp-dynamic-layout>
  `
})
export class AppComponent {
  constructor(settingTabs: SettingTabsService, replaceableComponents: ReplaceableComponentsService) {
    settingTabs.add([{ name: '::AppSetting', order: 1, component: SettingsComponent }]);
    settingTabs.remove([eSettingManamagementSettingTabNames.EmailSettingGroup]);
    settingTabs.remove([eFeatureManagementTabNames.FeatureManagement]);

    replaceableComponents.add({
      component: LogoComponent,
      key: eThemeBasicComponents.Logo
    });
  }
}

